﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
namespace DTO
{
    public class DULIEUCollection : List<DULIEU>
    {
    }
    [HasSelfValidation()]
    public class DULIEU
    {
        private long MaDuLieu;

        public long MADULIEU
        {
            get { return MaDuLieu; }
            set { MaDuLieu = value; }
        }
        private long MaDichVu;

        public long MADICHVU
        {
            get { return MaDichVu; }
            set { MaDichVu = value; }
        }
        private long MaTenDiaDiem;

        public long MATENDIADIEM
        {
            get { return MaTenDiaDiem; }
            set { MaTenDiaDiem = value; }
        }
        private String SoNha;
        [IgnoreNulls()]
        public String SONHA
        {
            get { return SoNha; }
            set { SoNha = value; }
        }
        private long MaDuong;

        public long MADUONG
        {
            get { return MaDuong; }
            set { MaDuong = value; }
        }
        private long MaPhuong;

        public long MAPHUONG
        {
            get { return MaPhuong; }
            set { MaPhuong = value; }
        }
        private long MaQuanHuyen;

        public long MAQUANHUYEN
        {
            get { return MaQuanHuyen; }
            set { MaQuanHuyen = value; }
        }
        private long MaTinhThanh;

        public long MATINHTHANH
        {
            get { return MaTinhThanh; }
            set { MaTinhThanh = value; }
        }
        private double KinhDo;

        public double KINHDO
        {
            get { return KinhDo; }
            set { KinhDo = value; }
        }
        private double ViDo;

        public double VIDO
        {
            get { return ViDo; }
            set { ViDo = value; }
        }
        private String ChuThich;
        [IgnoreNulls()]
        public String CHUTHICH
        {
            get { return ChuThich; }
            set { ChuThich = value; }
        }
        public DULIEU() { }
        //kiem tra hop le du lieu
        [SelfValidation()]
        public void Validate(ValidationResults va)
        {
            if (SoNha != null && SoNha.Length > 0)
            {
                RegexValidator regxValidator = new RegexValidator(@"^[a-zA-Z][\w\-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\]*[a-zA-Z]$");
                regxValidator.MessageTemplate = "Số nhà bạn nhập không hợp lệ";
                ValidationResults emailResults = regxValidator.Validate(SoNha);
                if (!emailResults.IsValid)//nếu email không hợp lệ -> đưa kết quả lỗi ra để xử lý
                {
                    va.AddAllResults(emailResults);
                }
            }
        }
    }
}
